#pragma once

#include <string>
#include <iostream>
#include <GL\glui.h>

using namespace std;

class Rotation: public Transformation
{
private:
	char axis;
	float angle;
public:
	Rotation() {type="rotate";}
	void setValues(char _axis, float _angle)
	{
		axis = _axis;
		angle = _angle;
		/*cout << "Axis in this Translation " << getID() << " " << axis << endl;
		cout << "Angle in this Translation " << getID() << " " << angle << endl;*/
	}
	void applyTransform()
	{
        float axis_x = 0.0;
        float axis_y = 0.0;
        float axis_z = 0.0;
        switch(axis)
        {
			case 'x':
					axis_x = 1.0;
					break;
			case 'y':
					axis_y = 1.0;
					break;
			case 'z':
					axis_z = 1.0;
					break;
			default:
					break;
        }

        glRotatef(angle, axis_x, axis_y, axis_z);
	}
};